IF exists(SELECT * FROM dbo.sysobjects WHERE name='Del_check' AND xtype='P') 
BEGIN
	DROP PROCEDURE Del_check
END
GO

CREATE procedure Del_check
as
set nocount on
create table #hulpTaak
(inschrijvingsNr char(7),
vak varchar(100)
)

create table #hulpWaarschuwing
(inschrijvingsNr char(7),
vak varchar(100)
)

create table #hulpBijkomend
(inschrijvingsNr char(7),
vak varchar(100)
)

declare @tekst varchar(500)
declare @iNr char(7)
declare @vak char(2)
declare @oudInr char(7)
declare @klas varchar(5)

declare TaCursor cursor local for 
  select d.vak as vak,d.inschrijvingsNr,l.klas
  from dbo.Del_taak as d
  left join leerlingen..leerlingen as l on
  d.inschrijvingsNr=l.inschrijvingsNr
  order by d.inschrijvingsNr,d.vak
for read only

declare WaCursor cursor local for 
  select d.vak as vak,d.inschrijvingsNr,l.klas
  from dbo.Del_waarschuwing as d
  left join leerlingen..leerlingen as l on
  d.inschrijvingsNr=l.inschrijvingsNr
  order by d.inschrijvingsNr,d.vak
for read only

declare BpCursor cursor local for 
  select d.vak as vak,d.inschrijvingsNr,l.klas
  from dbo.Del_bijkomend as d
  left join leerlingen..leerlingen as l on
  d.inschrijvingsNr=l.inschrijvingsNr
  order by d.inschrijvingsNr,d.vak
for read only

set @tekst = ''

open TaCursor
fetch next from TaCursor into @vak,@iNr,@klas
if (@@fetch_status=0)
begin
  set @oudInr=@iNr
  while (@@fetch_status=0)
  begin
	if (@oudInr <> @iNr)
	  begin
	    insert into #hulpTaak(inschrijvingsNr,vak)
            select @oudInr,@tekst
	    set @tekst = @vak + ' '
	    set @oudInr = @iNr	
	  end
   	else
   	set @tekst=@tekst + @vak + ' ' 
  	fetch next from TaCursor into @vak,@iNr,@klas
  end
  insert into #hulpTaak(inschrijvingsNr,vak)
  select @oudInr,@tekst
end
close TaCursor
deallocate TaCursor

set @tekst = ''
open WaCursor
fetch next from WaCursor into @vak,@iNr,@klas
if (@@fetch_status=0)
begin
  set @oudInr=@iNr
  while (@@fetch_status=0)
  begin
	if (@oudInr <> @iNr)
	  begin
	    insert into #hulpWaarschuwing(inschrijvingsNr,vak)
            select @oudInr,@tekst
	    set @tekst = @vak + ' '
	    set @oudInr = @iNr	
	  end
   	else
        set @tekst=@tekst + @vak + ' ' 
   	fetch next from WaCursor into @vak,@iNr,@klas
  end
   insert into #hulpWaarschuwing(inschrijvingsNr,vak)
   select @oudInr,@tekst
end
close WaCursor
deallocate WaCursor

set @tekst = ''
open BpCursor
fetch next from BpCursor into @vak,@iNr,@klas
if (@@fetch_status=0)
begin
  set @oudInr=@iNr
  while (@@fetch_status=0)
  begin
	if (@oudInr <> @iNr)
	  begin
	    insert into #hulpBijkomend(inschrijvingsNr,vak)
            select @oudInr,@tekst
	    set @tekst = @vak + ' '
	    set @oudInr = @iNr	
	  end
   	else
	set @tekst=@tekst + @vak + ' ' 
   	fetch next from BpCursor into @vak,@iNr,@klas
  end
  insert into #hulpBijkomend(inschrijvingsNr,vak)
  select @oudInr,@tekst
end
close BpCursor
deallocate BpCursor


select d.*,
       l.voornaam + ' ' +l.achternaam as volleNaam,l.klas,l.klasNr,
       t.vak as taak,w.vak as waarschuwing,
       b.vak as bijkomend

from Del_beslis as d
left join leerlingen..leerlingen as l
on d.inschrijvingsNr=l.inschrijvingsNr
left join #hulpTaak as t
on l.inschrijvingsNr=t.inschrijvingsNr
left join #hulpWaarschuwing as w
on l.inschrijvingsNr=w.inschrijvingsNr
left join #hulpBijkomend as b
on l.inschrijvingsNr=b.inschrijvingsNr 
where len(t.vak)>0 or len(w.vak)>0 or len(b.vak)>0